.mouse-warp {
  width: 200px;
  height: 200px;
  background: rgb(109, 47, 255);
  color: white;
  position: relative;
  overflow: hidden;

  .content {
    position: absolute;
    top: 0;
    left: 0;
  }

  .cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
  }

  /* 进入动画 */
  .cover.topEnter {
    opacity: 1;
    animation: topEnter .3s ease both 1;
  }

  .cover.rightEnter {
    opacity: 1;
    animation: rightEnter .3s ease both 1;
  }

  .cover.bottomEnter {
    opacity: 1;
    animation: bottomEnter .3s ease both 1;
  }

  .cover.leftEnter {
    opacity: 1;
    animation: leftEnter .3s ease both 1;
  }

  /* 移出动画 */
  .cover.topLeave {
    opacity: 1;
    animation: topLeave .3s ease both 1;
  }

  .cover.rightLeave {
    opacity: 1;
    animation: rightLeave .3s ease both 1;
  }

  .cover.bottomLeave {
    opacity: 1;
    animation: bottomLeave .3s ease both 1;
  }

  .cover.leftLeave {
    opacity: 1;
    animation: leftLeave .3s ease both 1;
  }

  /* 进入动画 */
  @keyframes topEnter {
    0% {
      transform: translateY(-100%);
    }

    100% {
      transform: translateY(0);
    }
  }

  @keyframes rightEnter {
    0% {
      transform: translateX(100%);
    }

    100% {
      transform: translateX(0);
    }
  }

  @keyframes bottomEnter {
    0% {
      transform: translateY(100%);
    }

    100% {
      transform: translateY(0);
    }
  }

  @keyframes leftEnter {
    0% {
      transform: translateX(-100%);
    }

    100% {
      transform: translateX(0);
    }
  }

  /* 移出动画 */
  @keyframes topLeave {
    0% {
      transform: translateY(0);
    }

    100% {
      transform: translateY(-100%);
    }
  }

  @keyframes rightLeave {
    0% {
      transform: translateX(0);
    }

    100% {
      transform: translateX(100%);
    }
  }

  @keyframes bottomLeave {
    0% {
      transform: translateY(0);
    }

    100% {
      transform: translateY(100%);
    }
  }

  @keyframes leftLeave {
    0% {
      transform: translateX(0);
    }

    100% {
      transform: translateX(-100%);
    }
  }
}
